﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x0200104B RID: 4171
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueTournLevelInfoUpdateScNotify : IMessage<RogueTournLevelInfoUpdateScNotify>, IMessage, IEquatable<RogueTournLevelInfoUpdateScNotify>, IDeepCloneable<RogueTournLevelInfoUpdateScNotify>, IBufferMessage
	{
		// Token: 0x170034AC RID: 13484
		// (get) Token: 0x0600BA68 RID: 47720 RVA: 0x001F6967 File Offset: 0x001F4B67
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueTournLevelInfoUpdateScNotify> Parser
		{
			get
			{
				return RogueTournLevelInfoUpdateScNotify._parser;
			}
		}

		// Token: 0x170034AD RID: 13485
		// (get) Token: 0x0600BA69 RID: 47721 RVA: 0x001F696E File Offset: 0x001F4B6E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueTournLevelInfoUpdateScNotifyReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170034AE RID: 13486
		// (get) Token: 0x0600BA6A RID: 47722 RVA: 0x001F6980 File Offset: 0x001F4B80
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueTournLevelInfoUpdateScNotify.Descriptor;
			}
		}

		// Token: 0x0600BA6B RID: 47723 RVA: 0x001F6987 File Offset: 0x001F4B87
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevelInfoUpdateScNotify()
		{
		}

		// Token: 0x0600BA6C RID: 47724 RVA: 0x001F699C File Offset: 0x001F4B9C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevelInfoUpdateScNotify(RogueTournLevelInfoUpdateScNotify other) : this()
		{
			this.status_ = other.status_;
			this.curLevelIndex_ = other.curLevelIndex_;
			this.reason_ = other.reason_;
			this.levelInfoList_ = other.levelInfoList_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600BA6D RID: 47725 RVA: 0x001F69F5 File Offset: 0x001F4BF5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevelInfoUpdateScNotify Clone()
		{
			return new RogueTournLevelInfoUpdateScNotify(this);
		}

		// Token: 0x170034AF RID: 13487
		// (get) Token: 0x0600BA6E RID: 47726 RVA: 0x001F69FD File Offset: 0x001F4BFD
		// (set) Token: 0x0600BA6F RID: 47727 RVA: 0x001F6A05 File Offset: 0x001F4C05
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevelStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x170034B0 RID: 13488
		// (get) Token: 0x0600BA70 RID: 47728 RVA: 0x001F6A0E File Offset: 0x001F4C0E
		// (set) Token: 0x0600BA71 RID: 47729 RVA: 0x001F6A16 File Offset: 0x001F4C16
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurLevelIndex
		{
			get
			{
				return this.curLevelIndex_;
			}
			set
			{
				this.curLevelIndex_ = value;
			}
		}

		// Token: 0x170034B1 RID: 13489
		// (get) Token: 0x0600BA72 RID: 47730 RVA: 0x001F6A1F File Offset: 0x001F4C1F
		// (set) Token: 0x0600BA73 RID: 47731 RVA: 0x001F6A27 File Offset: 0x001F4C27
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournSettleReason Reason
		{
			get
			{
				return this.reason_;
			}
			set
			{
				this.reason_ = value;
			}
		}

		// Token: 0x170034B2 RID: 13490
		// (get) Token: 0x0600BA74 RID: 47732 RVA: 0x001F6A30 File Offset: 0x001F4C30
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueTournLevel> LevelInfoList
		{
			get
			{
				return this.levelInfoList_;
			}
		}

		// Token: 0x0600BA75 RID: 47733 RVA: 0x001F6A38 File Offset: 0x001F4C38
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueTournLevelInfoUpdateScNotify);
		}

		// Token: 0x0600BA76 RID: 47734 RVA: 0x001F6A48 File Offset: 0x001F4C48
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueTournLevelInfoUpdateScNotify other)
		{
			return other != null && (other == this || (this.Status == other.Status && this.CurLevelIndex == other.CurLevelIndex && this.Reason == other.Reason && this.levelInfoList_.Equals(other.levelInfoList_) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600BA77 RID: 47735 RVA: 0x001F6AB8 File Offset: 0x001F4CB8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Status != RogueTournLevelStatus.None)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this.CurLevelIndex != 0U)
			{
				num ^= this.CurLevelIndex.GetHashCode();
			}
			if (this.Reason != RogueTournSettleReason.None)
			{
				num ^= this.Reason.GetHashCode();
			}
			num ^= this.levelInfoList_.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600BA78 RID: 47736 RVA: 0x001F6B43 File Offset: 0x001F4D43
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600BA79 RID: 47737 RVA: 0x001F6B4B File Offset: 0x001F4D4B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600BA7A RID: 47738 RVA: 0x001F6B54 File Offset: 0x001F4D54
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			this.levelInfoList_.WriteTo(ref output, RogueTournLevelInfoUpdateScNotify._repeated_levelInfoList_codec);
			if (this.CurLevelIndex != 0U)
			{
				output.WriteRawTag(32);
				output.WriteUInt32(this.CurLevelIndex);
			}
			if (this.Status != RogueTournLevelStatus.None)
			{
				output.WriteRawTag(40);
				output.WriteEnum((int)this.Status);
			}
			if (this.Reason != RogueTournSettleReason.None)
			{
				output.WriteRawTag(48);
				output.WriteEnum((int)this.Reason);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600BA7B RID: 47739 RVA: 0x001F6BDC File Offset: 0x001F4DDC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Status != RogueTournLevelStatus.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this.CurLevelIndex != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurLevelIndex);
			}
			if (this.Reason != RogueTournSettleReason.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Reason);
			}
			num += this.levelInfoList_.CalculateSize(RogueTournLevelInfoUpdateScNotify._repeated_levelInfoList_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600BA7C RID: 47740 RVA: 0x001F6C60 File Offset: 0x001F4E60
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueTournLevelInfoUpdateScNotify other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Status != RogueTournLevelStatus.None)
			{
				this.Status = other.Status;
			}
			if (other.CurLevelIndex != 0U)
			{
				this.CurLevelIndex = other.CurLevelIndex;
			}
			if (other.Reason != RogueTournSettleReason.None)
			{
				this.Reason = other.Reason;
			}
			this.levelInfoList_.Add(other.levelInfoList_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600BA7D RID: 47741 RVA: 0x001F6CD5 File Offset: 0x001F4ED5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600BA7E RID: 47742 RVA: 0x001F6CE0 File Offset: 0x001F4EE0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 32U)
				{
					if (num == 10U)
					{
						this.levelInfoList_.AddEntriesFrom(ref input, RogueTournLevelInfoUpdateScNotify._repeated_levelInfoList_codec);
						continue;
					}
					if (num == 32U)
					{
						this.CurLevelIndex = input.ReadUInt32();
						continue;
					}
				}
				else
				{
					if (num == 40U)
					{
						this.Status = (RogueTournLevelStatus)input.ReadEnum();
						continue;
					}
					if (num == 48U)
					{
						this.Reason = (RogueTournSettleReason)input.ReadEnum();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04004B20 RID: 19232
		private static readonly MessageParser<RogueTournLevelInfoUpdateScNotify> _parser = new MessageParser<RogueTournLevelInfoUpdateScNotify>(() => new RogueTournLevelInfoUpdateScNotify());

		// Token: 0x04004B21 RID: 19233
		private UnknownFieldSet _unknownFields;

		// Token: 0x04004B22 RID: 19234
		public const int StatusFieldNumber = 5;

		// Token: 0x04004B23 RID: 19235
		private RogueTournLevelStatus status_;

		// Token: 0x04004B24 RID: 19236
		public const int CurLevelIndexFieldNumber = 4;

		// Token: 0x04004B25 RID: 19237
		private uint curLevelIndex_;

		// Token: 0x04004B26 RID: 19238
		public const int ReasonFieldNumber = 6;

		// Token: 0x04004B27 RID: 19239
		private RogueTournSettleReason reason_;

		// Token: 0x04004B28 RID: 19240
		public const int LevelInfoListFieldNumber = 1;

		// Token: 0x04004B29 RID: 19241
		private static readonly FieldCodec<RogueTournLevel> _repeated_levelInfoList_codec = FieldCodec.ForMessage<RogueTournLevel>(10U, RogueTournLevel.Parser);

		// Token: 0x04004B2A RID: 19242
		private readonly RepeatedField<RogueTournLevel> levelInfoList_ = new RepeatedField<RogueTournLevel>();
	}
}
